using Rsd.Dudu;
using Rsd.Dudu.ModelProvider;
using Rsd.Dudu.ORM;
using Rsd.Faith.Core;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;

namespace Rsd.Faith.Models
{
    [Table("biz_资金使用划拨表", "biz__zi_jin_shi_yong_hua_bo_biao", "id")]
    [Serializable]
    public class UsingZiJinShiYongHuaBoBiaoModel : Rsd.Faith.Core.ModelBase
    {

        /// <summary>
        /// 申请编号
        /// </summary>
        [TableIndex(TableIndexType.Normal, TableIndexUsing.BTree)]
        [StringType("shen_qing_dan_hao", "申请编号", 20, 20)]
        [DisplayName("申请单号")]
        public string ShenQingDanHao { get; set; }
        /// <summary>
        /// 所属期
        /// </summary>
        [StringType("suo_shu_qi", "所属期", 22, 20)]
        [DisplayName("所属期")]
        public string SuoShuQi { get; set; }

        /// <summary>
        /// 申请小区编号
        /// </summary>
        [TableIndex(TableIndexType.Normal, TableIndexUsing.BTree)]
        [StringType("xiao_qu_bian_hao", "小区编号", 24, 20)]
        [DisplayName("申请小区编号")]
        public string XiaoQuBianHao { get; set; }

        ///// <summary>
        ///// 申请小区楼栋号
        ///// </summary>
        //[StringType("lou_dong_hao", "楼栋号", 24, 100)]
        //[DisplayName("申请小区楼栋号")]
        //public string LouDongHao { get; set; }

        ///// <summary>
        ///// 申请小区楼栋 单元号
        ///// </summary>
        //[StringType("dan_yuan_hao", "单元号", 25, 100)]
        //[DisplayName("申请单元号")]
        //public string DanYuangHao { get; set; }

        /// <summary>
        /// 划拨编号
        /// </summary>
        [TableIndex(TableIndexType.Unique, TableIndexUsing.BTree)]
        [StringType("hua_bo_bian_hao", "划拨编号", 26, 20)]
        [DisplayName("划拨编号")]
        public string HuaBoBianHao { get; set; }

        /// <summary>
        /// 付款账户 :本金账户 或 统筹账户
        /// </summary>
        [StringType("fu_kuan_zhang_hu", "付款账户", 27, 40)]
        [DisplayName("付款账户")]
        public FuKuanZhangHu FuKuanZhangHu { get; set; }

        /// <summary>
        /// 付款银行 FuKuanZhangHu == 本金账户 表示真实银行 ,否 :统筹账户名称
        /// </summary>
        [StringType("fu_kuan_yin_hang", "付款银行", 48, 250)]
        [DisplayName("付款银行")]
        public string FuKuanYinHang { get; set; }

        /// <summary>
        /// 付款银行账号  FuKuanZhangHu == 本金账户 表示真实银行账号 ,否 :统筹账户编号
        /// </summary>
        [StringType("fu_kuan_yin_hang_zhang_hao", "付款银行账号", 50, 50)]
        [DisplayName("付款银行账号")]
        public string FuKuanYinHangZhangHao { get; set; }

        /// <summary>
        /// 拨付后专户余额
        /// </summary>
        [NumericType("bo_fu_hou_yu_e", "拨付余额", 52, 20, 2)]
        [DisplayName("拨付后余额")]
        public decimal BoFuHouYuE { get; set; }

        /// <summary>
        /// 收款银行
        /// </summary>
        [StringType("shou_kuan_yin_hang", "收款银行", 40, 250)]
        [DisplayName("收款银行")]
        public string ShouKuanYinHang { get; set; }

        /// <summary>
        /// 收款银行账号
        /// </summary>
        [StringType("shou_kuan_yin_hang_zhang_hao", "收款银行账号", 42, 50)]
        [DisplayName("收款银行账号")]
        public string ShouKuanYinHangZhangHao { get; set; }

        /// <summary>
        /// 划拨金额
        /// </summary>
        [NumericType("hua_bo_jin_e", "划拨金额", 28, 20, 2)]
        [DisplayName("划拨金额")]
        public decimal HuaBoJinE { get; set; }

        /// <summary>
        /// 划拨日期
        /// </summary>
        [DateTimeType("hua_bo_ri_qi", "划拨日期", 30)]
        [DisplayName("划拨日期")]
        public DateTime HuaBoRiQi { get; set; }

        /// <summary>
        /// 划拨方式
        /// </summary>
        [StringType("hua_bo_fang_shi", "划拨方式", 32, 120)]
        [DisplayName("划拨方式")]
        public BoFuFangShi HuaBoFangShi { get; set; }

        /// <summary>
        /// 审批人
        /// </summary>
        [StringType("shen_pi_ren", "审批人", 34, 120)]
        [DisplayName("审批人")]
        public string ShenPiRen { get; set; }

       
        /// <summary>
        /// 状态:未分摊，已分摊，已入账
        /// </summary>
        [StringType("zhuang_tai", "状态", 38, 80)]
        [DisplayName("状态")]
        public ZiJinHuaBoZhuangTai ZhuangTai { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public UsingZiJinShiYongHuaBoBiaoModel()
        { }

    }
}
